package pojo.cadastro.operacional;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;

@Entity
@Table(name = "tbc_marca")
@NamedQueries({
    @NamedQuery(name = "Marca.listAll", query = "SELECT m FROM Marca m ORDER BY m.descricao"),
    @NamedQuery(name = "Marca.queryByDescricao", query = "SELECT m FROM Marca m WHERE m.descricao LIKE :descricaoPesq ORDER BY m.descricao")
})
public class Marca implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "MAR_LON_ID")
    private long id;
    @Column(name = "MAR_TXT_DESC", length = 40, nullable = false, unique = true)
    private String descricao;
    @Column(name = "MAR_DTA_CAD", nullable = false)
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataCadastro;

    @OneToMany(mappedBy = "marca", fetch = FetchType.LAZY)
    private List<Produto> produtos;

    public Date getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) {
        this.dataCadastro = dataCadastro;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public List<Produto> getProdutos() {
        return produtos;
    }

    public void setProdutos(List<Produto> produtos) {
        this.produtos = produtos;
    }
}
